PHP lussen
Home

PHP lussen

PHP lussen

Lussen, ook wel herhalingen of iteraties genoemd, of in het Engels "loops" worden gebruikt om een codeblok van één of meerdere statements meerdere keren uit te voeren m.a.w. te herhalen of te itereren. Er zijn verschillende commando's om verschillende typen lussen te implementeren:

for

Je gebruikt de for lus wanneer je op voorhand weet hoeveel keer een codeblok moet worden uitgevoerd:

for (initialisatie van de teller; stop-voorwaarde voor teller; vermeerdering of vermindering van de teller na elke iteratie ){
  // voer de code uit die hier staat; 
  // 
}

Het is een gewoonte om aan de teller de namen $i, $j, $k te geven.

De for lus heeft teller nodig om bij te houden hoeveel keren de codeblok al is uitgevoerd. Je geeft de teller een startwaarde, meestal is dit 0 maar het kan om het even welk getal zijn.

De for lus moet ook weten hoeveel keren de codeblok moet worden uitgevoerd. Daarom geef je voorwaarde mee die aangeeft wanneer de herhaling moet stoppen. Wanneer de variabele een bepaalde waarde bereikt heeft, stopt de lus.

Tenslotte moet je de teller na iedere herhaling bijwerken. Meestal verhoog je de teller met 1. Maar dat kan ook verminderen zijn of met een ander getal.

Een PHP lus schrijf je zo:

for ($i=0; $i<10; $i++) {
    echo  '*';
}

Deze lus schrijft een lijn van 10 sterretjes in het browservenster.

Je kan lussen nesten. Om een rechthoek van sterretjes te tekenen nesten we 2 lussen. De binnenste lus tekent de lijnen en de buitenste voert de binnenste lus 5 keer uit en echoot een regeleinde:

for ($i=0; $i<5; $i++) {
    for ($j=0; $j<10; $j++) {
        echo  '*';
    }
    echo  '<br />';
}

while

while wordt in tegenstelling met for gebruikt wanneer je niet precies kunt zeggen wanneer de lus moet stoppen. De algemene notatie is als volgt:

while (aan deze voorwaard is niet voldaan) {
    // statements
}

De lus wordt herhaald zolang er aan een bepaalde voorwaarde niet is voldaan. Een voorbeeld:

$i=0;
while ($i < 10){
   echo '*';
   $i++;
}

Deze while loop doet hetzelfde als de for loop. In de praktijk wordt hiervoor meestal wel de for-loop gebruikt, de while loop wordt vooral gebruikt bij databases en bij het werken met bestanden en arrays.

Een while-loop kan ook worden gebruikt is met een booleanse waarde:

$einde = FALSE;
while(!$einde) {
   // statements
}
  1. de booleaanse variabele $einde wordt op FALSE ingesteld;
  2. in de voorwaarde van de while wordt er gecontroleerd of $einde nog steeds FALSE is;
  3. als $einde FALSE is, wordt de code tussen accolades uitgevoerd, anders wordt de loop beëindigd;

OPGELET: zorg ervoor dat je geen oneindige loop creëert! De waarde $einde moet op een moment TRUE worden, anders wordt de code tot in het oneindige herhaald.

do while

De do-while-lus gelijkt op de while-lus. Het enige verschil is dat de code in de do-while loop altijd éénn keer wordt uitgevoerd omdat de voorwaarde pas aan het einde van het doorlopen van de loop wordt gecontroleerd:

$i = 0;
do
{
    $i++;
    echo $i;
}
while ($i < 5);

foreach

Een foreach loop wordt gebruikt om een array te doorlopen en bijvoorbeeld de waarden op het scherm te laten zien. Er bestaat een korte en een lange notatie.

Een voorbeeld van de korte notatie. Die notatie gebruik je met een een enkelvoudige array:

$array = array('JavaScript', 'C#', 'PHP', 'Java', 'Scala', 'Python', 'Powershell');
echo '<p>De volgende programmeertalen leren we op school:</p>';
echo '<ol>';
foreach ($array as $woord) {
    echo '<li>' . $woord . '</li>';
}
echo '</ol>';

Output:

De volgende programmeertalen leren we op school:
   1. JavaScript
   2. C#
   3. PHP
   4. Java
   5. Scala
   6. Python
   7. Powershell

De lange notatie gebruik je met een associatieve array:

$array = array('naam'=>'JavaScript', 'versie'=>'ES8', 'uren'=>'24', 'locatie'=>'Antwerpen');
echo 'Wij bieden de volgende opleiding aan: <br />';
foreach ($array as $sleutel => $waarde) {
    echo $sleutel . ': ' . $waarde . '<br />';
}

Output:

Wij bieden de volgende opleiding aan:
naam: JavaScript
versie: ES8
uren: 24
locatie: Antwerpen

Als we de lange notatie gebruiken voor een enkelvoudige array zie je dat alle arrays in PHP eigelijk associatieve arrays zijn. In een enkelvoudige array is de sleutel dan het volgnummer van het element in de array, te beginnen met 0:

Output:

De volgende programmeertalen leren we op school:
   1. sleutel: 0 waarde: JavaScript
   2. sleutel: 1 waarde: C#
   3. sleutel: 2 waarde: PHP
   4. sleutel: 3 waarde: Java
   5. sleutel: 4 waarde: Scala
   6. sleutel: 5 waarde: Python
   7. sleutel: 6 waarde: Powershell

Als namen voor de variabelen gebruikt men meestal $key en $value:

$array = array('JavaScript', 'C#', 'PHP', 'Java', 'Scala', 'Python', 'Powershell');
echo '<p>De volgende programmeertalen leren we op school:</p>';
echo '<ol>';
foreach ($array as $key => $value) {
    echo '<li>sleutel: ' . $key . ' waarde: ' . $value . '</li>';
}
echo '</ol>';

JI
2019-02-26 16:54:24